/*
 * @Description: In User Settings Edit
 * @Author: your name
 * @Date: 2019-08-12 09:07:49
 * @LastEditTime: 2019-08-12 15:10:54
 * @LastEditors: Please set LastEditors
 */
/*
 * @lc app=leetcode.cn id=5 lang=javascript
 *
 * [5] 最长回文子串
 *
 * https://leetcode-cn.com/problems/longest-palindromic-substring/description/
 *
 * algorithms
 * Medium (26.04%)
 * Likes:    1113
 * Dislikes: 0
 * Total Accepted:    86.4K
 * Total Submissions: 326.2K
 * Testcase Example:  '"babad"'
 *
 * 给定一个字符串 s，找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。
 * 
 * 示例 1：
 * 
 * 输入: "babad"
 * 输出: "bab"
 * 注意: "aba" 也是一个有效答案。
 * 
 * 
 * 示例 2：
 * 
 * 输入: "cbbd"
 * 输出: "bb"
 * 
 * 
 */
/**
 * @param {string} s
 * @return {string}
 */

/**
 * @description: 子字符串方法
 * @param {type} 
 * @return: 
 */
var longestPalindrome = function(s) {
    if(s.length < 2) return s
    var l = s.length,maxLen=0,start=0
    for(let i=0;i<l-1;i++){
        aa(i,i)
        aa(i,i+1)
    }

    function aa(left,right){
        while(left>=0 && right < l && s[left] == s[right]){
            --left
            ++right
        }
        
        if(maxLen <= right - left -1){
            start = left+1
            maxLen = right-left-1
        }
    }
    return s.slice(start,maxLen+start)
    
};

